package com.itlong.cloud.POJO.VO.property;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * <desc>
 *      云对讲设备信息VO
 * </desc>
 *
 * @createDate 2017-11-15.
 */
@Data
@NoArgsConstructor
public class CloudIntercomDeviceVO {
    private String projectId; //项目编号
    private String projectName; //项目名称
    private String sn;
    private String businessServer; //业务云服务器地址
    private String sipServer; //sip服务器地址
    private String sipPsd; //设备sip账号密码
    private String turnServer; //穿透服务器地址
    private String rootPwd; //设备远程密码(加密)
    private String rootPort; //设备远程端口
    private String clientToken; //第三方通讯token
    private String clientServer;  //第三方通讯服务器地址
    private String token; //登录token
    private String invalidTime; //token失效时间
    private String pid; //云对讲产品型号Pid
    private String buildNum;//楼栋号，多个以英文逗号拼接
    private String unitNum;//单元号，多个以英文逗号拼接
    private String deviceId;//4位设备机号
    private String deviceUnique;//设备唯一码
    private String deviceName;//设备名称
    private String serverKey;//服务器公钥文件地址
    private Integer watchLimit;//监视时长
    private Integer talkLimit;//对讲时长
    private String outCode;//出局码
    private Integer psntOpen; //PSTN开关 1开启 0关闭
    private String systemType;//云对讲系统类型：1linux 2android

    private String tcpIp;//tcp服务ip
    private String tcpPort;//tcp服务端口
    private String heartbeat;//心跳时间
    private String intercomVisitorLimit;       //云对讲访客限制：0关闭 1开启
    private String intercomFaceLimit;          //云对讲人脸限制：0关闭 1开启
    private String onOffLinePadFace;           //是否优先离线, 0代表否, 1代表是
    private Integer propertyValueOpen;         //是否开启物业增值 1开启 0关闭
    private List<PropertyValue> deploys;             //物业增值信息
    private String h5PaymentHtml;               //欠费二维码生成所需要跳转的页面
    private String deviceEndTime;               //云服务过期时间
//    private Integer chargeMode;         // 收费模式，1普通，2收费
    private Integer equipMode;              // 设备模式，1普通，2收费
    @JsonIgnore
    @JSONField(serialize = false, deserialize = false)
    private Integer smartType;//云对讲类型，31-门口机，32-围墙机

    /**
     * 物业增值信息
     */
    @Data
    @NoArgsConstructor
    public static class PropertyValue{
        private Integer level;//档位：1(1档)  2(2档） 3（3档）
        private Integer day;//欠费天数
        private String propertyValueDeploy = "";//1刷脸 2刷卡 3密码 4呼叫
        private Integer pointOut;//设备欠费提示：1是 0否
    }
}
